home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
351-375
/
355
/
rexxhostlib
/
stringasm.asm
< prev
next >
Wrap
Assembly Source File
|
1995-03-14
|
2KB
|
59 lines
* $Revision Header * Header built automatically - do not edit! *************
*
* (C) Copyright 1990 by MXM
*
* Name .....: StringAsm.asm
* Created ..: Friday 13-Apr-90 15:56
* Revision .: 0
*
* Date Author Comment
* ========= ======== ====================
* 13-Apr-90 Olsen Created this file!
*
* $Revision Header *********************************************************
*
* This file contains the assembly language source code for
* the string routines employed by rexxhost.library.
*
****************************************************************************
SECTION StringAsm,CODE
XDEF _StrLen
XDEF _StrCpy
XDEF _StrNCpy
*----------------------------------------------------------------------------
_StrLen: MOVEQ #0,D0 ; Reset counter
1$ TST.B (A0)+ ; Test for 0
BEQ.S 2$ ; End of string
ADDQ #1,D0 ; Increment length counter
BRA.S 1$ ; Test again...
2$ RTS
*----------------------------------------------------------------------------
_StrCpy: TST.B (A1) ; Empty string?
BEQ.S 1$
MOVE.B (A1)+,(A0)+ ; Copy character
BRA.S _StrCpy ; Check for 0
1$ MOVE.B #0,(A0) ; Null-termination
RTS
*----------------------------------------------------------------------------
_StrNCpy: TST.L D0 ; Legal length?
BEQ.S 2$
1$ MOVE.B (A1)+,(A0)+ ; Copy character
DBRA D0,1$ ; Decrement length counter
2$ MOVE.L D0,A1 ; Null-termination
MOVE.B #0,0(A0,A1)
RTS
*----------------------------------------------------------------------------
END